refactor(harness): remove legacy browser graph entry points (SAP-3090) - #907
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (14)
💤 Files with no reviewable changes (3)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe harness removes the legacy workspace graph and session-handoff paths. Project selection now uses durable Studio identity and Agent Map recovery. E2E coverage shifts to Agent Map navigation, older-protocol recovery, and independent Canvas and Steps behavior. ChangesAgent Map authority retirement
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant ProjectSelection
participant App
participant AgentMapPane
participant useHarnessState
ProjectSelection->>App: select project
App->>AgentMapPane: render selected or unresolved project
useHarnessState->>App: ignore system-graph.changed
App->>AgentMapPane: display Agent Map or recovery state
Suggested reviewers: Merge Risk: ⚪ Minimal · up to The legacy graph path is retired while project selection and recovery remain covered by the durable Agent Map flow. No merge-blocking risk was identified. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 33.33% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 3 functions across 9 files. (2 skipped: 2 unsupported.)
✨ Finishing Touches 💡 2📝 Generate docstrings 💡
🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. A rabbit hops where old graphs fade Comment |
Primary change type
Problem and motivation
A server that omitted the durable project catalog could still send project selection through the legacy graph or an implicit conversation handoff. Project selection now stays on the durable Agent Map identity and recovery path.
Summary and scope
Remove the old screen mount and older-server session handoff. Preserve the selected project and conversation during identity recovery, exact keyboard tabs, independent Canvas/Steps, mobile controls, and map/agent history. Best-effort workspace preference writes now handle rejection. This is the first of two browser layers; the next layer deletes the disconnected implementation.
Related work
Related issue or discussion: SAP-3090. Part of the authorized cleanup stack above #892 and #893, targeting
main. Human review follows the complete stack. Implementation and PR creation do not authorize merging or releasing it.Validation
Verification on the cumulative implementation at
cab477b5(each earlier boundary also passed its affected build/typecheck and focused checks):The root test failure reproduces on unchanged prior code; it is not treated as a green root run. The final retirement record includes artifact hashes, request-observation scope and all local limitations.
Browser checks used installed Google Chrome, isolated TMPDIR and E2E_PORT=5497; the override changes only the executable, temporary output/report paths and Vite invocation. The package's 195 Harness runtime/assets match the clean build byte-for-byte. Its saved-map check records legacy read/refresh/navigation requests 0/0/0, direct removed routes 404/404/404, and unchanged map/history.
The first AppImage run failed session-create with a preexisting PROJECT_SESSION_SCOPE_UNAVAILABLE retention race; the identical artifact passed an isolated rerun. The initial failure and unchanged source ancestry are preserved in the record, with a separate follow-up test/fix outline. This cleanup does not fix that race. Signed macOS installer/upgrade evidence remains the SAP-3086 release gate.
Tests and documentation
Migrated retained project, mobile, navigation and shell tests to durable map fixtures. Added omitted-catalog recovery and exact keyboard cases; both new cases failed before the implementation. Retained standalone session fixtures remain independently usable. At this boundary, 195 focused unit cases passed; retained browser cases passed across the broad run and scoped reruns after fixture corrections.
Compatibility and release impact
Security
AI assistance
Codex implemented the cleanup and test/doc migrations, traced retained callers, and checked the resulting diffs. Automated checks above and independent read-only review provide implementation evidence; maintainer review is still required.
Checklist
CONTRIBUTING.md, and this contribution follows the direct-PR or issue-first policy.Summary by CodeRabbit
New Features
Changes